Jump To:
Technical Q&As: Darwin
The Mac OS X kernel is the fundamental layer of the Mac OS X operating system. This environment includes the I/O Kit, the Mach kernel, and a BSD personality layer. Apple discourages developers from programming in the kernel, because kernel bugs can reduce the stability of the entire system. Many device drivers can be written entirely in user space and should be, where possible.

Document Descriptions
On Off
Display

Sorted by
Title
Sort by
Date
Adding dependencies with kmodload (HTML)
QA1097: Illustrates how to specify dependencies when using kmodload.
2001-12-05
Avoiding Kernel Event Conflicts (HTML)
QA1063: Documents the namespace for the vendor_code field of the kern_event_msg structure.
2001-09-14
Can't attach during two-machine debugging with GDB (HTML) ()
Deprecated - QA1019: Describes a workaround for a problem attaching during two-machine debugging on Mac OS X 10.0.x.
2003-06-02
Directories Appear as Volume Aliases (HTML)
QA1351: Discusses how VFS plug-ins should handle device numbers to ensure compatibility with Carbon applications.
2004-05-25
Energy Star PCI Device (HTML) ()
QA1108: Provides useful information for developers of Energy Star-compliant PCI devices.
2002-01-15
Generating an NMI Without a Programmer's Switch (HTML) ()
QA1264: Explains how to generate a non-maskable interrupt (NMI) on CPUs without programmer's switches.
2004-04-26
Getting List of All Processes on Mac OS X (HTML) ()
QA1123: Describes how, using Carbon and BSD respectively, to list all applications and processes.
2002-03-05
Installing an I/O Kit KEXT Without Rebooting (HTML)
QA1319: Describes the state of the art of installing I/O Kit kernel extensions (KEXTs) without requiring a restart.
2003-10-28
IOKit Framework Headers (HTML) ()
QA1107: Describes the differences between the headers in IOKit.framework and the I/O Kit headers in Kernel.framework.
2002-01-15
IOLog and Interrupt Context (HTML) ()
QA1100: Describes when IOKit runs at primary (hardware) interrupt context.
2002-02-13
Issues with boot time KEXT loading (HTML) ()
QA1087: Explains how to solve problems with loading KEXTs at boot time.
2004-01-15
Mac OS X and root access (HTML)
QA1013: Describes how to enable root access in Mac OS X.
2001-03-13
Making sense of IOKit error codes (HTML) ()
QA1075: Explains how to interpret I/O Kit error codes.
2002-02-07
Mapping kernel memory to user space on Mac OS X 10.2 (HTML) ()
QA1197: Describes a change to mapping kernel memory to user space affecting Mac OS X 10.2 and later.
2002-09-13